iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0

「軟體架構就是畫線的藝術,我稱這些線為邊界 (Boundaries)

「架構師的目標是盡量減少建置和維護系統的所需人力資源。耗盡人力資源代表什麼呢? 耦合 - 特別是耦合導致過早做了不成熟的決定 (與業務需求無關的決定,包括關於框架、資料庫、Web伺服器、工具程式庫...等的決定)」

取自: Clean Architecture (p.135 & p.136)

CH17: 邊界:畫線

「要繪製邊界,首先要將系統劃分為以元件(Component)組合起來的系統。其中一些元件是核心業務規則,接著,你在這些元件中安排程式碼,使它們之間的箭頭指向一個方向 - 指向核心業務」

取自: Clean Architecture (p.146)

[補充]: DDD

兩個悲慘的故事

  • 某 P 公司...
  • 某 W 公司...

成功的架構

  • 作者和兒子建置的開源專案 FitNesse...

在重要和不重要的事物之間畫線

  • GUI, 業務規則, 資料庫

資料庫與業務規則

I/O 是無關緊要的


Plugin 架構


CH18: 邊界:剖析

「邊界有許多不同的形式」

「系統中的邊界往往混合了『本地經常通訊的邊界』和『更關注於延遲的邊界』」

取自: Clean Architecture (p.147 & p.152)


CH24: 邊界:預留 (原文: Partial Boundary)

「全面性的架構邊界是昂貴的。但如果以後需要的話,可能還是要為這樣的邊界保留一個位置」

「在這種情況下,它們或許會實作一個部分邊界 (Partial Boundary)。決定哪裡要出現架構邊界,及是否完全或部分實作這個邊界,是架構師的職責」

取自: Clean Architecture (p.181 & p.182 & p.184)

跳過最後一步

Strategy Pattern

Facade Pattern


Reference


上一篇
Day 24: 架構、解耦 (待改進中... )
下一篇
Day 26: 策略和層級、業務規則 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言